The present invention relates to an electronic catalog system. More particularly, the present invention relates to an improved electronic catalog system capable of providing a customer at a remote location with accurate updated product information from a vendor each time the customer uses the electronic catalog system.
There are two common types of system architecture that are commonly used in conventional electronic catalog systems. One common system is a dial-up system. The dial-up system includes a remote computer at a customer location with modem capabilities and a main computer at the vendor's location. The customer uses his computer to log on to the vendor's computer as a user. The customer can then browse through a catalog menu on the vendor's computer. The primary disadvantage of a dial-up system is that graphics data cannot be transmitted from the vendor's computer to the customer's computer in a meaningful time frame. It takes a large amount of time to transmit graphics data over telephone lines via a modem, especially if high resolution is desired. Therefore, the dial-up system is not practical for catalogs which include both graphics data and textual data.
A second common electronic catalog system is a system which is located totally on the customer's computer. The data in the customer's computer is periodically updated by the vendor by sending updated data disks. The primary disadvantage of this catalog system is that the data is rarely totally accurate. The accuracy of the data depends on the vendor sending updated data disks to the customer. In addition, the customer must also take the time to install the latest updated data disk onto his computer.
The electronic catalog system of the present invention is designed to reduce the problems associated with the above-mentioned catalog systems. The electronic catalog system of the present invention includes software on the customer's computer and software on the vendor's computer. Therefore, the present electronic catalog system provides a total system architecture. The software handles all communications between the customer's computer and vendor's computer. The customer's computer cooperates with vendor's computer to provide the customer with accurate updated catalog information each time the catalog system is used.
Catalog data is stored on both the vendor's computer and the customer's computer. The vendor's computer contains variable data related to each of the catalog products. Variable data is data that can change at any time. Changes in the variable data can affect the design integrity of the customer's product in which the data is being used. The customer's computer contains all constant data related to the catalog products. Constant data includes both graphics data and textual data. For instance, the customer's computer may include high resolution graphics data illustrating the various catalog items in detail. The customer's computer also includes constant textual data such as a dimensional data layout. Dimensions of the products and cost information are typically considered variable data stored on vendor's computer. If variable data changes, the vendor corrects the variable data entered into vendor's computer. The present invention automatically provides the customer with updated variable data from the vendor's computer without the need to load new data disks onto the customer's computer.
One object of the present invention is to provide the customer with an instantaneous distribution of the latest catalog data available. In operation, the customer browses through general catalog data residing on the customer's computer and determines the exact catalog data required. For example, the customer can select a specific product from a list of products on the customer's computer. Once the desired catalog data has been selected, the electronic catalog system automatically calls the vendor's computer and logs on. The catalog system first checks to determine whether any of the constant data on the customer's computer requires updating. If a constant data update is required, this update is completed prior to filling the customer's request for information. Once the constant data is updated, if necessary, vendor's computer transmits variable data related to the specific product selected by the customer. In addition, vendor's computer transmits a map to the customer's computer which permits the customer's computer to integrate the variable data received from the vendor's computer with constant data related to the selected product stored in the customer's computer. Therefore, a combination of constant data residing on the customer's computer and variable data downloaded from vendor's computer is integrated or merged to create a completely updated data sheet for the selected product. The variable data downloaded from vendor's computer includes the most recent data entered by the vendor. Therefore, the variable data is accurate, and the electronic catalog system of the present invention generates catalog information based only upon the latest vendor data. Advantageously, customers will have instant access to changes in variable data related to the products in the electronic catalog system.
Another object of the present invention is to minimize computer on-line time. A common disadvantage of conventional dial-up catalog systems is that a customer can log on to a vendor's computer and never log off In other words, the customer has control over when to log on and when to log off vendor's computer. This can tie up vendor's computer for long periods of time. To overcome this disadvantage, conventional catalog systems often depend on a time out to automatically log the customer off the vendor's computer.
In the electronic catalog system of the present invention, the customer does not have the privilege of determining when to log on or when to log off the vendor's computer. The catalog system of the present invention automatically determines when it is necessary to log on to vendor's computer to retrieve additional data. Because all of the general catalog data is resident on the customer's computer, the normal browsing the user might do is accomplished locally at the customer's computer. The customer's computer automatically connects itself to vendor's computer and automatically requests the needed information only after the desired product has been selected from data on the customer's computer. The customer's computer automatically logs off vendor's computer after the requested data is received. Therefore, the electronic catalog system of the present invention typically reduces the on-line time by about 70-80%.
Yet another object of the present invention is to increase system security. System security is a serious problem that confronts any company that allows others to have access to data residing on its computer system. In conventional catalog systems, a customer can log on to a vendor's computer to access information. It is often possible for a computer hacker to discover a password and gain access to the system. This can cause damage to the system and provide the computer hacker access to confidential information. In the electronic catalog system of the present invention, the software controls when the customer's computer must log on to vendor's computer. In addition, the customer's computer automatically logs off vendor's computer after the required information is downloaded. Therefore, the present catalog system reduces customer access to vendor's computer system. This increases system security.
According to one aspect of the present invention, a method is provided for producing information related to a selected product on a remote computer. The method includes the steps of storing and maintaining variable data and constant data related to a plurality of products in a memory of a main computer and storing constant data related to a plurality of products in a memory of a remote computer. The method also includes the steps of selecting a product from the remote computer memory for which product information is desired, comparing constant data revision status in the memory of the main computer with constant data revision status in the memory of the remote computer, and updating constant data in the memory of the remote computer with constant data stored in the memory of the main computer that is different from the constant data stored in the memory of the remote computer. The method further includes the step of transmitting variable data related to the selected product from the main computer to the remote computer, and integrating constant data stored in the memory of the remote computer associated with the selected product with the variable data received from the main computer to provide product information related to the selected product including both constant and variable data.
The method for producing information related to a selected product on a remote computer still further includes the steps of automatically connecting the remote computer to the main computer after the selecting step, and automatically disconnecting the remote computer from the main computer after the variable data related to the selected product is transmitted from the main computer to the remote computer. In addition, the method includes the step of transmitting a map from the main computer to the remote computer along with the variable data to permit the remote computer to perform the integrating step. The method may also include the step of displaying or printing the information related to the product generated by the remote computer during the integrating step. In a preferred embodiment of the present invention, the constant data stored in the memory of the main computer and the constant data stored in the memory of the remote computer includes both graphics data and textual data.
According to another aspect of the present invention, the method for producing information related to a selected product on a remote computer includes the steps of storing and maintaining a main revision status in the memory of the main computer and storing a remote revision status in the memory of the remote computer. The main revision status indicates the revision level of the constant data stored in the main computer, and the remote revision status indicates the revision level and the constant data stored in the remote computer. The step of comparing constant data in the memory of the remote computer with constant data in the memory of the main computer includes the step of comparing the remote revision status with the main revision status maintained in the main computer.
The constant data updating step illustratively includes the steps of determining updated portions of the constant data stored in the main computer that are different than the constant data stored in the remote computer, transmitting the updated portions of the constant data stored in the main computer from the main computer to the remote computer, and replacing portions of the constant data stored on the remote computer with the updated portions of constant data received from the main computer. The constant data updating step also illustratively includes the step of transmitting a new remote revision status identical to the main revision status from the main computer to the remote computer.
According to yet another aspect of the present invention, a method is provided for installing a computer program on a remote computer. The method includes the steps of storing and maintaining a computer program on a main computer, generating registration data at the remote computer, and transmitting the registration data generated at the remote computer to the main computer. The method also includes the steps of creating an identification number at the main computer based on the registration data transmitted from the remote computer, transmitting the program from the main computer to the remote computer including the identification number, and storing the program and the identification number in the remote computer.
According to still another aspect of the present invention, a method is provided for automatically updating a program on a remote computer. The method includes the steps of storing a program and a remote program revision status in a memory of a remote computer, and maintaining the latest revisions of the program and a main program revision status in a memory of a main computer. The remote program revision status indicates the revision level of the program stored in the memory of the remote computer, and the main program revision status indicates the revision level of the program stored in the memory of the main computer. The method also includes the steps of transmitting the remote program revision status from the remote computer to the main computer, and comparing the remote program revision status to the main program revision status. The method further includes the step of updating portions of the program stored in the memory of the remote computer that are different from the program stored and maintained in the memory of the main computer.
The program updating step illustratively includes the steps of determining updated portions of the program stored in the main computer that are different from the program stored in the remote computer, transmitting the updated portions from the main computer to the remote computer, and replacing portions of the program stored on the remote computer with the updated portions received from the main computer. The remote revision status is transmitted to the main computer each time a communication session is initiated between the remote computer and the main computer. The program updating step also illustratively includes the step of transmitting a new remote program revision status identical to the main program revision status from the main computer to the remote computer.
According to still another aspect of the present invention, a method is provided for automatically detecting pirated copies of the software. The method includes the steps of storing and maintaining a computer program on a main computer, generating a unique serialization number, and transmitting the unique serial number generated by the main computer to the remote computer. The method also includes the step of maintaining serial number, serial number validation, registration data, and program revision status data by the main computer. The method also includes the transmitting of the program serial number and program revision status from the remote computer to the main computer, and the comparison of the serial number and program revision status transmitted from the remote computer to the serial number and program revision status maintained by the main computer.
According to a further aspect of the present invention, an electronic catalog system includes a main computer having a main memory for storing variable data and constant data related a plurality of products. The electronic catalog system also includes a remote computer having a remote memory for storing constant data related to a plurality of products. The electronic catalog system further includes means for transmitting a request for variable data related to a selected product from the remote computer to the main computer, means for comparing constant data in the remote memory with constant data in the main memory, means for determining which portions of the constant data stored in the main memory are different from the constant data stored in the remote memory, means for transmitting updated portions of the constant data stored in the main memory from the main computer to the remote computer, and means for replacing portions of the constant data stored in the remote memory with the updated portions of constant data received from the main computer. In addition, the electronic catalog system includes means for transmitting variable data related to the selected product stored in the main memory from the main computer to the remote computer, and means for integrating constant data related to the selected product stored in the remote memory with the variable data related to the selected product received from the main computer to generate information related to the selected product including both constant data and variable data. The electronic catalog system further includes means for automatically connecting the remote computer to the main computer, and means for automatically disconnecting the remote computer from the main computer after the variable data related to the selected product is transmitted from the main computer to the remote computer.
According to a further aspect of the present invention, the electronic catalog system includes means for storing and maintaining a main revision status in the memory of the main computer, and means for storing a remote revision status in the memory of the remote computer. The main revision status indicates the revision level of the constant data stored in the main computer. The remote revision status indicates the revision level of the constant data stored in the remote computer. The means for comparing constant data in the remote memory with constant data in the main memory compares the remote revision status with the main revision status maintained in the main computer. This revision level indicates which portions of the constant data have been updated.
According to another aspect of the present invention, a system for automatically updating a program stored in a remote computer includes a remote computer having a remote memory for storing a program and a remote program revision status. The remote program revision status indicates the revision level of the program stored in the remote memory. The system also includes a main computer having a main memory for storing the latest revisions of the program and a main program revision status. The main program revision status indicates the revision level of the program stored in the main memory. The system further includes means for transmitting the remote program revision status from the remote computer to the main computer, means for comparing the remote program revision status to the main program revision status, and means for determining which portions of the program stored in the main memory are different from the program stored in the remote memory. The system also includes means for transmitting updated portions of the program stored in the main memory from the main computer to the remote computer, means for replacing portions of the program stored in the remote memory with the updated portions of the program received from the main computer, and means for transmitting the new program revision status from the main computer to the remote computer.
According to a further aspect of the present invention, a system for installing a program on a remote computer includes a main computer including a main memory for storing a program. The system also includes means for generating registration data on a remote computer and means for transmitting the registration data generated at the remote computer from the remote computer to the main computer. The system further includes means for generating an identification number at the main computer based on the registration data transmitted from the remote computer, means for transmitting the program and the identification number from the main computer to the remote computer, and means for storing the program in the remote computer.
According to an additional aspect of the present invention, a system for detecting pirated copies of a serialized software program includes a remote computer including a remote memory for storing a program, a remote revision level, and a program serial number. The system also includes a main computer including a main memory for storing the program serial number, the remote revision level corresponding to the program serial number, and a validation code for a remote program corresponding to the serial number. The validation code indicates whether the program stored in the remote memory is valid or invalid. The system further includes means for transmitting the remote revision level and the program serial number stored in the remote memory from the remote computer to the main computer, and means for comparing the remote program revision level received from the remote computer to the remote program revision level stored in the main memory corresponding to the program serial number received from the remote computer. The system still further includes means for changing the validation code to indicate the serial number is invalid upon detection by the comparing means of a difference between the remote program revision level received from the remote computer and the remote program revision level stored in the memory of the main computer corresponding to the program serial number received from the remote computer. The system still further includes means for detecting whether the program stored in the remote memory is valid or invalid based upon the validation code corresponding to the program serial number received from the remote computer, and means for denying access to data stored in the memory of the main computer when the program corresponding to the serial number stored in the remote memory is invalid.
Additional objects, features, and advantages of the invention will become apparent to those skilled in the art upon consideration of the following detailed description of a preferred embodiment exemplifying the best mode of carrying out the invention as presently perceived.